//根据参数获取标签
function my$(e) {
    return document.querySelector(e);
}
function my$$(e) {
    return document.querySelectorAll(e);
    
}

/**
 * 格式化日期
 * @param dt 日期对象
 * @returns {string} 返回值是格式化的字符串日期
 */
function getDates(dt) {
    let str = ""//存储时间的字符串
    //获取年
    let year = dt.getFullYear();
    //获取月
    let month = dt.getMonth() + 1;
    //获取日
    let day = dt.getDate();
    //获取小时
    let hour = dt.getHours();
    //获取分钟
    let min = dt.getMinutes();
    //获取秒
    let sec = dt.getSeconds();
    //判断是否小于10,如果小于前面加0
    month = month < 10 ? "0" + month : month;
    day = day < 10 ? "0" + day : day;
    hour = hour < 10 ? "0" + hour : hour;
    min = min < 10 ? "0" + min : min;
    sec = sec < 10 ? "0" + sec : sec;
    str = year + "年" + month + "月" + day + "日 " + hour + ":" + min + ":" + sec;
    return str;
}

/**
 * 简单轮播图
 * @param 终点位置  位移距离  移动的元素
 */
function movefun(bourn, step, ele) {
    clearInterval(ele.timer);
    //将定时器的id值存储到对象的一个属性中
    ele.timer = setInterval(function () {
        //获取元素的当前位置,数字类型
        let current = ele.offsetLeft;
        //已犯错误--如果没有定义一个新的,直接用传进来的值,当判断是false时候,赋值负数,则负负得正,一直循环
        let newstep = step
        // 若当前位置小于目的位置,为正数,否则乘以负
        newstep = current < bourn ? newstep : -newstep;
        current += newstep;
        if (Math.abs(current - bourn) > Math.abs(newstep)) {
            ele.style.left = current + "px";
        } else {
            clearInterval(ele.timer)
            ele.style.left = bourn + "px";

        }
    }, 10);
}

/**
 * 变速动画函数 增加任意多个属性
 * @param    1.改变的元素 2.json{key:要改变的属性 value:目标位置}
 */
function animates(ele, json) {
    clearInterval(ele.timer);
    //将定时器的id值存储到对象的一个属性中
    ele.timer = setInterval(function () {
        //循环遍历  attr是key
        for (let key in json) {
            //获取元素的当前位置,数字类型
            let current = parseInt(getStyle(ele, key));
            //当前的属性对应的目标值
            let target = json[key];
            let newstep = (target - current) / 10
            //判断 如果step是正数,向上取整,负数向下取整
            newstep = newstep > 0 ? Math.ceil(newstep) : Math.floor(newstep);
            current += newstep;
            ele.style[key] = current + "px";
            //当前位置等于目标位置时清理定时器
            if (current == target) {
                clearInterval(ele.timer)
            }
        }

    }, 20);
}

/**
 * 获取任意一个属性的当前的属性值
 * @param    元素  要获取的属性
 */
function getStyle(element, attr) {
    return window.getComputedStyle ? window.getComputedStyle(element, null)[attr] : element.currentStyle[attr];

}

/**
 * 获取滚动
 * @param    元素  要获取的属性
 */
function getScroll() {
    return {
        //加0防止报错
        left: window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0,
        top: window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0
    }
}

/**
 * fetch封装
 * @param
 */
function getarr(url, num) {
    return fetch(url, {
        method: "get",
        mode: "cors"
    }).then(r => {
        if (r.status == 200) {
            return r.json()
        }
    })/*.then(data => {
        // data.result.slice(0,num);
        console.log(data)
    })*/
}

/**
 *限制文字字数
 * @param 限制制长度的属性 中文限制数 英文限制数
 * 返回值是限制后内容
 */
function Boole(val,chinesenum,englishnum ) {
    let  strname=val.length
    if (val.indexOf("%u",0) == -1) // 表示是汉字
    {
        if (strname>chinesenum){ val=val.substring(0,chinesenum)+"..."; }
    }
    else
    {
        if (strname>englishnum){ val=val.substring(0,englishnum)+"..."; }
    }
    return val
}

/**
 *Cookie的写入封装
 * @param 键值名,value
 */
function setCookie(name,value)
{
    let Days = 30;
    let exp = new Date();
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}

/**
 *Cookie的写入封装
 * @param 键值名,value,事件
 * 如果需要设定自定义过期时间那么把上面的setCookie　函数换成下面三个参数就ok;
 */
function setCookies(name,value,time)
{
    var strsec = getsec(time);
    var exp = new Date();
    exp.setTime(exp.getTime() + strsec*1);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
/**
 *Cookie的读出封装
 * @param 键值名
 * return 对应的键值对
 */
function getCookie(name)
{
    let arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
    if(arr=document.cookie.match(reg))
        return unescape(arr[2]);
    else
        return null;
}
/**
 *Cookie的删除封装
 * @param 键值名
 */
function delCookie(name)
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null)
        document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

/**
这是有设定过期时间的使用示例：
s20是代表20秒
 h是指小时，如12小时则是：h12
 d是天数，30天则：d30
 */
function getsec(str)
{
    alert(str);
    var str1=str.substring(1,str.length)*1;
    var str2=str.substring(0,1);
    if (str2=="s")
    {
        return str1*1000;
    }
    else if (str2=="h")
    {
        return str1*60*60*1000;
    }
    else if (str2=="d")
    {
        return str1*24*60*60*1000;
    }
}
WebToAPP()
function WebToAPP() {
    my$$(".index_top button").forEach(function (item,index) {
        item.onclick=function () {
            location.href="../../APP/APP_HTML/APP_login.html"
        }
    })
    
}
